#pragma once
#include <list>
#include <iterator>
#include "Event.h"
using namespace std;
class Account
{
private:
	bool _signedUp_;
	bool _logged_;
	string _passWord_;
	string _tempWord_;
	CFriend friends;
//-----------amr shibiny---
	list<event> events;
	list<event>::iterator findevent(char* tar);
//-----------amr shibiny---
public://,multimap<string, string> &friend_list,multimap<string, string> &requests
	Account				(void);
	Account				(string passWord_);
	bool sign_in		(string& password_);
	bool sign_out		(string tempWord_);
	bool CheckTempWord	(string passWord_);
	bool SHOW_FRIEND	(string user_name_,string& UserFriends,multimap<string, string> &friend_list);
	bool SHOW_REQUEST   (string user_name_,string& UserRequests,multimap<string, string> &requests);
    bool ADD_FRIEND		(string user_name_,string friend_name_,multimap<string, string> &friend_list,multimap<string, string> &requests);
	bool REMOVE_FRIEND	(string user_name_,string friend_name_,multimap<string, string> &friend_list,multimap<string, string> &requests);
	bool CANCEL_REQUEST	(string user_name_,string friend_name_,multimap<string, string> &friend_list,multimap<string, string> &requests);
	bool CheckSigned	();
	~Account(void);

//---------------------Amr Shibiny------------------------------begin
	void addevent(char name_[50] , int start_hour , int start_minute , int start_day , int start_month , int start_year  , int end_hour , int end_minute , int end_day, int end_month, int end_year );
	void Invitepeople( char* nameevent, char** people, int num);
	char* getstarttime(char* nameevent);
	char* getendtime(char* nameevent);
	char** getinvitedpeople(char* nameevent);
	void edit_start(char* nameevent, int hour, int minute, int day, int month, int year);
	void edit_end(char* nameevent, int hour, int minute, int day, int month, int year);
	void goingperson(char* nameevent, char* one);
	void notgoingperson(char*nameevent, char *one );
	void deleteevent(string name_);

//---------------------Amr Shibiny------------------------------end
};

